1. Field of the Invention
The present invention is directed generally to signal measurement systems and, more particularly, to the generation and execution of an instrument control macro file for controlling a signal measurement system.
2. Related Art
Conventional signal measurement systems such as digital oscilloscopes sample, record and display time-varying analog signals. Samples of an input signal are taken and quantified, and the resultant digital representations are stored in a waveform memory under the control of a sampling clock. The acquired data may be subsequently retrieved as locations in memory to provide digital data that can be converted to a time-varying output signal for a waveform display. The sampling clock may be operated at one of several selectable rates depending on the frequency content of the input signal. The portion of the analog input signal that is sampled and stored is determined by appropriate triggering circuitry to enable the operator to display the desired portion of the waveform.
There are many types of display elements that can be presented on a display device of signal measurement systems in general and test and measurement instruments in particular. For example, in addition to the waveforms representing the signals received at the channel inputs, waveforms referred to as function waveforms may also be displayed. Function waveforms are waveforms generated by processing one or more signal waveforms. Such processing may include, for example, performing arithmetic manipulations on a signal waveform or combining multiple input signal waveforms in some predetermined manner. The resulting function waveforms are stored in a display memory for subsequent retrieval and display. In addition, waveforms referred to as memory waveforms may also be displayed. Memory waveforms are waveforms that have been captured previously and stored in a memory device of the signal measurement system. In addition to the above waveforms, other display elements such as marker indicators, trigger indicators, etc., are typically displayed.
Modern signal measurement systems offer a significant number of instrument control operations that can be invoked by an operator to acquire and measure the displayed waveforms. Because instrument front panels are relatively small, these instruments cannot provide a dedicated front panel control for each available operation. To provide the operator with access to the available operations, conventional instruments generally include a hierarchical arrangement of multifunction softkeys. The instrument manufacturer assigns a limited number of common operations to dedicated front panel keys while assigning each of the remaining operations to a softkey in the softkey hierarchy.
Invocation of a desired operation that is not mapped to a dedicated front panel key requires the operator to navigate through one or more hierarchical softkey layers to reach the appropriate hierarchical layer that includes the desired operation. The operator then must activate the actual softkey associated with the desired operation. Unfortunately, this conventional approach fails to provide the operator with a simple and convenient technique to invoke frequently performed operations without numerous operator actions. For example, most digital oscilloscopes have a dedicated key for invoking run/stop functionality due to its widespread use across many different measurement scenarios. In contrast, there are no known oscilloscopes that have a dedicated front panel key to invoke, for example, the waveform averaging function. Also, the most commonly accessed functions vary not only from operator to operator but also for a given operator across different measurement scenarios. The permanent assignment of the front panel keys to a particular operation without regard to variability in individual operators or the tasks performed by a given operator often results in the operator not having immediate and direct access to desired operations. Not only are such arrangements difficult to understand and operate, considerable time is consumed performing the requisite steps to invoke a desired operation.
Similar drawbacks exist in signal measurement systems that provide the operator with a graphical user interface (GUI) through which instrument control operations can be invoked. In these systems, numerous point and click operations must be performed to invoke a desired operation. For example, GUI-based instruments typically require the operator to select a menu item from the main menu bar to cause the display of a relevant dialog box. Oftentimes, the operator must make graphical selections in this dialog box to cause an additional dialog box to be displayed. Having navigated through one or more dialog boxes, the operator must then graphically manipulate the information in the dialog box to invoke the desired operation. Finally, the operator must close the dialog box(es). Like the softkey approach, this requires a significant number of operator actions to be performed, consuming considerable operator time.
It is not uncommon for the operator to control the instrument to perform complex acquisition or measurement operations that require the sequential invocation of many individual instrument control operations. With the invocation of each such operation requiring the noted series of operator actions, it is often time consuming and difficult to perform the larger, more complex task using conventional instruments.
What is needed, therefore, is a system and method that enables the operator to quickly and easily invoke desired instrument control operations in a signal measurement system.
The present invention is directed to an apparatus and method for providing an end-user; that is, an operator, with the ability to invoke a set of one or more operator-specified instrument control operations with one, single-action switch preferably located on a signal measurement system front panel. Providing the operator with the capability to assign temporarily one or more instrument control operations to a single front panel switch or key to which the operator has easy and direct access enables the operator to customize the user interface to optimally support the operator""s current needs. As the operator""s needs and use of the signal measurement system change, so too can the instrument control operations that are mapped to the dedicated front panel key. Furthermore, any number and sequence of arbitrary instrument control commands may be included in the macro file, thereby providing significant flexibility in the development of macro files that can support the needs of the operator.
A number of aspects of the invention are summarized below, along with different embodiments that may be implemented for each of the summarized aspects. It should be understood that the embodiments are not necessarily inclusive or exclusive of each other and may be combined in any manner that is non-conflicting and otherwise possible. It should also be understood that these summarized aspects of the invention are exemplary only and are considered to be non-limiting.
In one aspect of the invention, a macro management system is disclosed. The macro management system provides an operator of a signal measurement system with the capability to invoke execution of an operator-defined executable macro file comprising one or more instrument control commands through a single operator action. Each instrument control command represents one or more instrument control operations. The single operator action is preferably an activation of a macro control key on a front panel of the signal measurement system, or graphical selection of a single display element presented on a graphical user interface of the signal measurement system. In one embodiment, the one or more instrument control commands are descriptive, high level commands of an instrument control language such as GPIB.
In one embodiment, the macro management system includes a macro file generation unit configured to provide the operator with a capability to develop, store and edit one or more macro text files comprising text strings. Such text strings include at least one instrument control command. The generation unit includes a text editor configured to operate with a graphical user interface to provide a text file editing environment with which the operator can develop one or more macro text files. Preferably, the text editor utilizes a graphical user interface to provide the operator with a graphical display of command names from which the operator can select the desired instrument control command for inclusion in the macro text file. The generation unit may also include a file processor to process the macro text file to generate the executable macro file.
The macro management system comprises a macro file execution unit configured to execute the executable macro file. The execution is initiated in response to receipt of a single macro execution signal generated in response to the noted single operator action. As each instrument control command is executed, the execution unit generates one or more function calls that causes the signal measurement system to perform operations associated with the executed instrument control command.
In addition, in certain embodiments, the command strings also include one or more macro control commands for controlling execution of the executable macro file. For example, the macro control commands includes a step command that, when executed by the execution unit, causes the macro file execution unit to halt execution of the executable macro file until a next macro execution signal is received. The macro control commands may also include, for example, a loop command that causes the execution unit to execute one or more command strings repeatedly for a specified number of iterations.
In one embodiment, the macro file execution unit includes a command processor that processes instrument control commands to generate formatted commands that are converted by a GPIB parser to system function calls. Preferably, a file viewer causes the display of the executable macro file along with a visual indication of which command string of the executable macro file is currently being executed by the execution unit.
In another aspect of the invention an apparatus for use in a signal measurement system is disclosed. The apparatus enables an operator to assign temporarily one or more instrument control operations to a single front panel switch to which the operator has easy and direct access.
In a further aspect of the invention a method for executing an operator-defined executable macro file comprising one or more instrument control commands in a signal measurement system is disclosed. The method comprises the steps of: (a) providing a macro text file comprising one or more text strings of which at least one is an instrument control command; (b) processing the macro text file to form an executable macro file; and (c) executing the executable macro file in response to activation of a macro control key on a front panel of the signal measurement system.
In one embodiment, step (a) includes the steps of: (1) providing a text editor to provide a text file editing environment on a graphical user interface of the signal measurement system; and (2) receiving operator inputs to develop or modify a macro text file. In another embodiment, step (b) includes the steps of: (1) removing blank lines from the macro text file; (2) removing disallowed commands from the macro text file; and (3) removing leading and trailing blank characters from the macro text file. Preferably, the macro text file is one of a plurality of macro text files, and step (a) further includes the step of: (3) retrieving a selected macro text file from the plurality of macro text files stored in memory in response to a macro selection command.
In a still further embodiment of this aspect, the text strings further include one or more macro control commands for controlling execution of the macro file. In this embodiment, step (c) comprises the steps of: (1) executing the instrument control commands in accordance with the macro control commands to generate formatted commands; and (2) converting the formatted commands to signal measurement system function calls; and, preferably, (3) generating of a display of the executable macro file with a visual indication of which command string of the executable macro file is currently being executed by the execution unit.
Various embodiments of the present invention provide certain advantages and overcome certain drawbacks of the above and other conventional techniques. Not all embodiments of the present invention share the same advantages and those that do may not share them under the same or similar circumstances. Thus, the following advantages may apply to one or more aspects and embodiments of the invention.
In contrast to conventional softkey-based instruments, the present invention eliminates the noted problem of having to navigate through the hierarchy of softkey menus in search of the softkey corresponding with each desired instrument control operation. Providing direct, front panel control significantly eliminates the time and frustration associated with having to recall, navigate to, and press numerous softkeys to activate the desired series of operations. The present invention provides similar benefits over conventional GUI-based instruments. In addition to the drastic reduction in the number of requisite operator actions to invoke an instrument operation, there are also advantages associated with the use of a single macro control switch. Mapping a macro file to a single, directly accessible key enables the operator to develop speed and accuracy by always reaching for the same key in the same location on the front panel. Thus, the control mapping feature of the present invention enables an operator of a signal measurement system to drastically increase productivity as compared to conventional instruments.
Those aspects of the invention in which the instrument control operations are represented by high-level, descriptive commands of an instrument control language provide additional advantages. Use of such a descriptive instrument control language requires minimal operator knowledge of a programming language to utilize the invention due to the ease with which the descriptive text commands can be recognized. This is particularly true in cases in which the instrument control language is GPIB due to its prevalence in instrument remote control. This is in contrast to conventional instruments that require the operator to implement a software program that generates instrument control commands. Such a program executes on an external controller, typically a personal computer, connected to the conventional instrument via cables. The controller is configured to invoke program action when a certain key on the controller keyboard is pressed.
Such a conventional approach requires the combined system to be configured, including the integration of interface cards, cables, driver libraries, etc. Further, accessing the operation from a controller keyboard is often inconvenient due to the inability to locate the keyboard in close proximity to the instrument front panel. In certain situations such as field service it may not be possible for the operator to transport and setup both the instrument and external controller.
By eliminating the programming environment and providing the operator with the ability to directly utilize descriptive instrument control commands, the present invention provides the operator with an elementary level of automation control without the use of other equipment such as an external controller, and without requiring the operator to have a working knowledge of the specific syntax and structure of a programming language. This not only saves substantial time but enables the instrument to be transported to and used in more restrictive environments than conventional instruments. Further, the present invention also eliminates the significant overhead consumed in the development, test and verification of such automation test programs.
In addition, unlike such programs, instrument control commands do not have to be compiled and linked to be executed. Instead, the instrument control commands are interpreted individually; that is, they can be individually converted to function calls that, when applied to the signal measurement system, cause the signal measurement system to perform the operation represented by the instrument control command. As such, in certain embodiments, instrument control commands can be applied to the signal measurement system individually so that the operator can determine the effect of the command on the instrument before utilizing it in a macro file.
These are just a few of the notable advantages provided by the present invention. Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numerals indicate like or functionally similar elements. Additionally, the left-most one or two digits of a reference numeral identifies the drawing in which the reference numeral first appears.